icon

nazo6.dev

一覧に戻る
2024/3/24 1 min read

next buildでENAMETOOLONGが出たとき


generateStaticParams周りで起きやすい。

これが出る時は恐らくパスをencodeURIしているはず。というかnext devではencodeURIしないとそんなパスねーぞと怒られる。

しかしいざnext buildするとENAMETOOLONGのエラーがでる。一体どうしろという感じだがnext build時はnextjsがパスを見つけられなくても怒られないので以下のようなコードで対応

const paths = ["とても/長い/パス", ...];
 
export async function generateStaticParams() {
  if (process.env.NODE_ENV === "production") {
    return paths.map((p) => ({
      path: p,
    }));
  }
  return paths.map((p) => ({
    path: p.map(encodeURI),
  }));
}

要するにnext buildnext devで出し分けているだけ

Share this article:
一覧に戻る

関連記事

2023/8/14

#tech/web/nextjs
memo

Nextjs App DirectoryでSSGとsearch paramsを使うと遅くなる?

デカめのリストを持ち、search paramsでソートの順番を指定できる感じのアプリを作っている(https://example.com/?order=descみたいな感じ)。 すると、なんだかstateを変更後にURLが変更されるのが遅い気がした。 もしかしてと思いネットワークリクエストを見ると… router.push()する度にServer Componentsがfetchされている! いやまあ確かにSSRではそれが正しいのだがSSGではどんなリクエストを送ろうが返ってくるものは同一のはずなのでこれは意味がない。 しかもなんだか動作もおかしくて、例えばソート順を変更すると瞬間で再ソートは行われるのだが1秒後にURLが変更されると同時にソート順がまた変更される。この再ソートはソートが不安定によるもののはずだが、そもそも2回ソートが行われるのが何故なのかがわからない・・・

Read Article

2023/6/28

#tech/web
memo

CSSでヘッダー、ナビバーを持つコンテンツを作るにはどうするのが良いか?

的な感じのやつ。

Read Article

2022/3/5

#tech/web
memo

Chrome ExtensionのwebRequestでヘッダーを書き換える方法

悪いことをするのにOriginを消し去りたかった

Read Article

2023/6/28

#tech/web
memo

SSGできるフレームワークの選定

言わずと知れたReact製フレームワーク

Read Article

2023/7/3

#tech/web#tech/lang/js-ts/unified
memo

remarkのプラグイン例

remarkプラグイン用テンプレート

Read Article

2021/7/24

#tech/web
memo

solidjsを試してみる

なのでこんなスクラップを見るよりこっちを見ましょう https://www.solidjs.com/docs/latest/api?lang=ja

Read Article

© 2025 nazo6. All rights reserved.